//兑换中心
let $exchangeDetailsTable = $("#exchangeDetailsTable");
let examineFilePath='';
//防止表头与表格不对齐
$(window).resize(function () {
    $exchangeDetailsTable.bootstrapTable('resetView');
});

$(function () {
    setTimeout(function(){
        //兑换中心列表
        exchangeDetailsList()
        $('.datepicker').datepicker({
            language: "zh-CN",
            autoclose: true, //选择后自动关闭
            clearBtn: true,
            todayHighlight: true,
            format: "yyyy-mm-dd"
        });
        $('#arriveTimeStart').on('changeDate',function(){
            var startDate = $('#arriveTimeStart').val();
            var endDate = $('#arriveTimeEnd').val();
            if (endDate < startDate) {  // 对比结束日期和新的起止日期，起止日期大于结束日期则清空结束日期
                $('#arriveTimeEnd').val('');
            }
            $('#arriveTimeEnd').datepicker('destroy').datepicker({
                language: "zh-CN",
                autoclose: true, //选择后自动关闭
                clearBtn: true,
                todayHighlight: true,
                format: "yyyy-mm-dd",
                startDate: new Date(startDate)
            });
        });
    },100)

})
//兑换明细页面下的方法
//兑换中心列表
function exchangeDetailsList() {
    closeFilterContainer();//关闭高级筛选
    $exchangeDetailsTable.bootstrapTable('destroy');//先销毁表格
    $exchangeDetailsTable.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/csd/productManager/selectExchangeCenterList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        height:820,
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'customerId',
        idField: 'customerId',
        pageSize: 20,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: [20, 50],//可供选择的每页的行数
        fixedColumns: true,     // 冻结列
        fixedRightNumber: 1,    // 右侧固定列
        queryParams: exchangeDetailParams,//查询参数
        columns: [
            {title: '兑换前产品', field: 'finishProductName', align: 'left', valign: 'middle'},
            {title: '兑换后产品', field: 'changeCourseTitle', align: 'left', valign: 'middle'},
            {title: '客户名称', field: 'customerName', align: 'left', valign: 'middle'},
            {title: '所属订单', field: 'orderNumber', align: 'left', valign: 'middle',width: '120'},
            {title: '所属合同', field: 'contractNumber', align: 'left', valign: 'middle',width: '120'},
            /*{title: '兑换规则标题', field: 'ruleTitle', align: 'left', valign: 'middle',width: '120'},*/
            // {title: '所属分公司', field: 'companyName', align: 'left', valign: 'middle'},
            // {title: '所属人', field: 'userName', align: 'left', valign: 'middle', width: '100'},
            {title: '兑换时间', field: 'createTm', align: 'left', valign: 'middle', width: '100'},
            {title: '审批结果', field: 'examine', align: 'left', valign: 'middle', width: '100',formatter:approvalResultgenderOpt},
            {title: '操作', field: 'operate', align: 'right',events: operateEvents,formatter:exchangeDetailgenderOpt}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //table列可拖动宽度
            $('.JCLRgrips').remove();
            $('#customerTableList').css({
                minWidth: $('#customerTableList').width()
            })
        },

        // onLoadSuccess: function () {
        //     $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        // },
        onLoadError: function (status) {
            if (status == 403) {
                $.alert(
                    {
                        title:'提示',
                        content:"权限不足！禁止访问！"
                    }
                );
            } else {
                //加载失败时执行
                $.alert(
                    {
                        title:'提示',
                        content:"加载失败！"
                    }
                );
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        }
    });
}
//兑换明细参数
function exchangeDetailParams(params){
    params.pageSize = params.limit;
    params.pageIndex = (params.offset / params.limit) + 1;
    params.sortName = params.sort; //排序列名
    params.sortOrder = params.order;//排序方式
    //搜索条件
    // params.dateType = $("#dateType").val();//全部
    params.startDate = $.trim($('#arriveTimeStart').val());//开始日期
    params.endDate= $.trim($('#arriveTimeEnd').val());//截止日期
    params.customerName = $.trim($("#customerName").val())
    return params;
}
window.operateEvents = {
    //点击事件
    'click #detail': function (e, value, row, index) {
        getExchangeDetail(row.changeCourseId);
        $("#exchangeDetailModal").modal('show');

    }
}
function getExchangeDetail(changeCourseId){
    $.ajax({
        url: '/csd/productManager/selectExchangeDetails',
        type: 'POST',
        dataType: "json",
        data: {
            changeCourseId:changeCourseId,
        },
        success: (function (data) {
            if (data.code == '000000') {
                $("#approverName").text(data.data.approverName);
                $("#updateTm").text(data.data.updateTm);
                $("#remarks").text(data.data.remarks);
                examineFilePath = data.data.img;
            }
        }),
        error: (function () {
            $.alert(
                {
                    title:'提示',
                    content:'请求失败'
                }

            );
        })
    })

}
/**
 * 自定义操作列内容
 */
function exchangeDetailgenderOpt(value, row, index) {
    let html='';
    if(row.examine=='0'||row.examine=='2'){
        html = '<button type="button" class="btn-default activeBtn detailsBtn" id="detail">审批结果</button>';
    }
    return html;
}
//审批结果
function approvalResultgenderOpt(value, row, index) {
    let approveResult='';
    if(row.examine=='0'){
        approveResult='通过'
    }else if(row.examine=='1'){
        approveResult='待审批'
    }else if(row.examine=='2'){
        approveResult='不通过'
    }
    return approveResult
}
/**
 * 全部/今天/周/月/上月/自定义切换
 * @param time
 */
function selectTime(time) {
    $('.timeBtn').removeClass('active-second');
    $(`#${time}`).addClass('active-second');
    if(time==='customize'){
        //自定义
        $("#dateType").val("");
        if($('#customInput').is(":hidden")){
            $('#customInput').show();
        }else{
            $('#customInput').hide();
        }
    }else{
        //全部
        $('#customInput').hide();
        $('#arriveTimeStart').val('');
        $('#arriveTimeEnd').val('');
        $("#dateType").val("");
        exchangeDetailsList();
    }

}
//打开高级筛选弹框
function openFilterContainer(){
    $("#closeFilter").show();
    $("#openFilter").hide();
    $("#filterFilesContainer").slideDown();
}
//关闭高级筛选弹框
function closeFilterContainer(){
    $("#openFilter").show();
    $("#closeFilter").hide();
    $("#filterFilesContainer").slideUp();
}
//点击高级筛选切换显示隐藏
function showToggle(){
    if($("#filterFilesContainer").is(":hidden")){
        openFilterContainer()
    }else{
        closeFilterContainer()
    }
}


/**
 * 功能：查看附件
 * 参数：type 0-合同附件  1-审核附件  annexFilePath-合同附件url  examineFilePath-审核附件url
 * 注意：需引入viewer.js、jquery-viewer.js、viewer.css
 * */
function showFile(type) {
    var iframeSrc;
    type ? iframeSrc = examineFilePath : iframeSrc = annexFilePath;
    if (iframeSrc == null) {
        $.alert("附件不存在！")
        return false;
    }
    // 获取后缀
    var srcExt = iframeSrc.substr(iframeSrc.lastIndexOf('.'));
    // 判断是否为图片
    var imgExtArr = ['.png', '.jpg', '.jpeg', '.bmp', '.gif', '.webp', '.psd', '.svg', '.tiff'];
    if (imgExtArr.indexOf(srcExt.toLowerCase()) !== -1) {
        console.log('附件是图片');
        var imgNode = new Image();
        imgNode.src = iframeSrc;
        var viewer = new Viewer(imgNode, {
            navbar: false,
            toolbar: false,
            title: false,
            hidden: function () {
                viewer.destroy();
            }
        });
        viewer.show();
        // $('#fileIframe')
    } else {
        // 判断是否为word文档，是则修改后缀名为pdf
        /*if (iframeSrc.indexOf('.doc') !== -1) {
            console.log('附件为word文档，修改后缀名为pdf直接预览');
            iframeSrc = iframeSrc.split('.doc')[0] + '.pdf';
        } else*/
        if (iframeSrc.indexOf('.pdf') !== -1) {
            console.log('附件为PDF文档');
            $('#fileIframe').prop('src', iframeSrc);
            $('#fileModal').modal('show');
        } else {
            // 附件非图片、word、pdf格式无法预览，直接下载
            $.alert({
                title: '提醒',
                content: '附件格式无法预览，即将为你下载到本地！',
                buttons: {
                    cancel: {
                        text: '取消',
                        btnClass: 'btn-link',
                    },
                    confirm: {
                        text: '下载',
                        btnClass: 'btn-primary',
                        action: function () {
                            window.location.href = encodeURI(encodeURI(iframeSrc));
                        }
                    },
                }
            });
        }
    }
}